/*******************************************************************************
 * Package: com.hngtrust.iir.user.controller.dto
 * Type:    ViewStockRightRespVo
 * Date:    2021/6/2 21:10
 *
 * Copyright (c) 2021 HUANENG GUICHENG TRUST CORP.,LTD All Rights Reserved.
 *
 * You may not use this file except in compliance with the License.
 *******************************************************************************/
package com.hngtrust.iir.user.controller.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.util.List;

/**
 * 股权质押信息
 *
 * @author Wanghan
 * @date 2021/6/2 21:10
 */

@ApiModel(description = "股权质押信息")
@Data
@AllArgsConstructor
@NoArgsConstructor
public class ViewStockRightRespVo {
    
    /**
     * 公司股权质押冻结列表
     */
    @ApiModelProperty(value = "公司股权质押冻结列表")
    private List<ListPledge> listPledges;
    @Data
    public static class ListPledge{
    
        /**
         * 主键ID
         */
        @ApiModelProperty(value = "主键ID")
        private Long id;
    
        /**
         * 来源
         */
        @ApiModelProperty(value = "来源")
        private String source;
    
        /**
         * 来源方数据ID
         */
        @ApiModelProperty(value = "来源方数据ID")
        private String sourceId;
    
        /**
         * 公司ID
         */
        @ApiModelProperty(value = "公司ID")
        private Long compId;
    
        /**
         * 统一社会信用代码
         */
        @ApiModelProperty(value = "统一社会信用代码")
        private String creditCode;
    
        /**
         * 质押日期
         */
        @ApiModelProperty(value = "质押日期")
        private String pledgeDate;
    
        /**
         * 股东名称
         */
        @ApiModelProperty(value = "股东名称")
        private String stockholderName;
    
        /**
         * 持股数量(股)
         */
        @ApiModelProperty(value = "持股数量(股)")
        private BigDecimal stockNum;
    
        /**
         * 质押股份数量
         */
        @ApiModelProperty(value = "质押股份数量")
        private BigDecimal pledgeShares;
    
        /**
         * 冻结股份数量
         */
        @ApiModelProperty(value = "冻结股份数量")
        private BigDecimal freezeShares;
    
        /**
         * 质押冻结比例(%)
         */
        @ApiModelProperty(value = "质押冻结比例(%)")
        private BigDecimal freezeRate;
    
        /**
         * 备注
         */
        @ApiModelProperty(value = "备注")
        private String note;
    
        /**
         * 状态
         */
        @ApiModelProperty(value = "状态")
        private Integer status;
    
        /**
         * 创建时间
         */
        @ApiModelProperty(value = "创建时间")
        private String createTime;
    
        /**
         * 修改时间
         */
        @ApiModelProperty(value = "修改时间")
        private String updateTime;
    
        /**
         * 创建人
         */
        @ApiModelProperty(value = "创建人")
        private Long createUserId;
    
        /**
         * 修改人
         */
        @ApiModelProperty(value = "修改人")
        private Long updateUserId;
    
    }
    
    /**
     * 公司股权质押明细
     */
    @ApiModelProperty(value = "公司股权质押明细")
    private List<ListPledgeDetail> listPledgeDetails;
    
    @Data
    public static class ListPledgeDetail{
    
        /**
         * 主键ID
         */
        @ApiModelProperty(value = "主键ID")
        private Long id;
    
        /**
         * 来源
         */
        @ApiModelProperty(value = "来源")
        private String source;
    
        /**
         * 来源方数据ID
         */
        @ApiModelProperty(value = "来源方数据ID")
        private String sourceId;
    
        /**
         * 公司ID
         */
        @ApiModelProperty(value = "公司ID")
        private Long compId;
    
        /**
         * 统一社会信用代码
         */
        @ApiModelProperty(value = "统一社会信用代码")
        private String creditCode;
    
        /**
         * 公告日期
         */
        @ApiModelProperty(value = "公告日期")
        private String annDate;
    
        /**
         * 质押起始时间
         */
        @ApiModelProperty(value = "质押起始时间")
        private String pledgeBgdate;
        
        private String start;
    
        /**
         * 质押结束时间
         */
        @ApiModelProperty(value = "质押结束时间")
        private String pledgeEnddate;
        
        private String end;
    
        /**
         * 股东名称
         */
        @ApiModelProperty(value = "股东名称")
        private String holderName;
    
        /**
         * 质押数量(万股)
         */
        @ApiModelProperty(value = "质押数量(万股)")
        private BigDecimal pledgeShares;
    
        /**
         * 质押方
         */
        @ApiModelProperty(value = "质押方")
        private String pledgor;
    
        /**
         * 解押日期
         */
        @ApiModelProperty(value = "解押日期")
        private String dischargeDate;
    
        /**
         * 备注
         */
        @ApiModelProperty(value = "备注")
        private String remark;
    
        /**
         * 是否解押
         */
        @ApiModelProperty(value = "是否解押")
        private Integer discharge;
    
        private String release;
    
        /**
         * 股东类型
         */
        @ApiModelProperty(value = "股东类型")
        private String holderType;
    
        /**
         * 股东ID
         */
        @ApiModelProperty(value = "股东ID")
        private Long holderId;
    
        /**
         * 质押方类型
         */
        @ApiModelProperty(value = "质押方类型")
        private String pledgorType;
    
        /**
         * 质押方ID
         */
        @ApiModelProperty(value = "质押方ID")
        private Long pledgorId;
    
        /**
         * 股份性质类别
         */
        @ApiModelProperty(value = "股份性质类别")
        private String shrCategory;
    
        /**
         * 持股总数
         */
        @ApiModelProperty(value = "持股总数")
        private BigDecimal totalHoldingShr;
    
        /**
         * 累计质押股数
         */
        @ApiModelProperty(value = "累计质押股数")
        private BigDecimal totalPledgeShr;
    
        /**
         * 本次质押股数占公司总股本比例
         */
        @ApiModelProperty(value = "本次质押股数占公司总股本比例")
        private BigDecimal pledgeShrRatio;
    
        /**
         * 持股总数占公司总股本比例
         */
        @ApiModelProperty(value = "持股总数占公司总股本比例")
        private BigDecimal holdingShrRatio;
    
        /**
         * 是否股权质押回购
         */
        @ApiModelProperty(value = "是否股权质押回购")
        private Integer equityPledgeRepo;
    
        private String buyBack;
    
        /**
         * 状态
         */
        @ApiModelProperty(value = "状态")
        private Integer status;
        
    }
    
    /**
     * 股权冻结明细
     */
    @ApiModelProperty(value = "公司股权冻结明细")
    private List<ListFreezeDetail> listFreezeDetails;
    
    @Data
    public static class ListFreezeDetail {
        /**
         * 主键ID
         */
        @ApiModelProperty(value = "主键ID")
        private Long id;
    
        /**
         * 来源
         */
        @ApiModelProperty(value = "来源")
        private String source;
    
        /**
         * 来源方数据ID
         */
        @ApiModelProperty(value = "来源方数据ID")
        private String sourceId;
    
        /**
         * 公司ID
         */
        @ApiModelProperty(value = "公司ID")
        private Long compId;
    
        /**
         * 统一社会信用代码
         */
        @ApiModelProperty(value = "统一社会信用代码")
        private String creditCode;
    
        /**
         * 公告日期
         */
        @ApiModelProperty(value = "公告日期")
        private String annDate;
    
        /**
         * 冻结起始时间
         */
        @ApiModelProperty(value = "冻结起始时间")
        private String froBgdate;
    
        /**
         * 冻结结束时间
         */
        @ApiModelProperty(value = "冻结结束时间")
        private String froEnddate;
    
        /**
         * 股东名称
         */
        @ApiModelProperty(value = "股东名称")
        private String holderName;
    
        /**
         * 冻结数量
         */
        @ApiModelProperty(value = "冻结数量")
        private String froShares;
    
        /**
         * 执行冻结机构
         */
        @ApiModelProperty(value = "执行冻结机构")
        private String frozenInstitution;
    
        /**
         * 解冻日期
         */
        @ApiModelProperty(value = "解冻日期")
        private String disfrozenTime;
    
        /**
         * 股东类型
         */
        @ApiModelProperty(value = "股东类型")
        private String holderType;
    
        /**
         * 股东ID
         */
        @ApiModelProperty(value = "股东ID")
        private Long holderId;
    
        /**
         * 股份性质类别
         */
        @ApiModelProperty(value = "股份性质类别")
        private String shrCategory;
    
        /**
         * 是否轮候冻结
         */
        @ApiModelProperty(value = "是否轮候冻结")
        private Integer isTurnFrozen;
    
        private String frozen;
    
        /**
         * 是否解冻
         */
        @ApiModelProperty(value = "是否解冻")
        private Integer isDisfrozen;
    
        private String thaw;
    
        /**
         * 持股总数（万股）
         */
        @ApiModelProperty(value = "持股总数（万股）")
        private BigDecimal totalHoldingShr;
    
        /**
         * 本次冻结股数占公司总股本比例
         */
        @ApiModelProperty(value = "本次冻结股数占公司总股本比例")
        private BigDecimal froShrRatio;
    
        /**
         * 持股总数占公司总股本比例
         */
        @ApiModelProperty(value = "持股总数占公司总股本比例")
        private BigDecimal holdingShrRatio;
        
        
    }
}
